
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>用户列表</title>
    <link rel="stylesheet" href="/ehome/static/css/layui.css" media="all">
    <script src="/ehome/static/layui.js"></script>
    <!--<script src="/ehome/static/lib/jquery-3.1.1.min.js"></script>-->
</head>
<body>

<!--编辑项的表单, 在弹出页显示-->
<form class="layui-form" action="" lay-filter="editForm" id="editForm" style="display: none">
    <div class="layui-form-item">
        <label class="layui-form-label">id</label>
        <div class="layui-input-block">
            <input type="text" name="id" required  lay-verify="required"  autocomplete="off" class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">name</label>
        <div class="layui-input-block">
            <input type="text" name="name" required  lay-verify="required"  autocomplete="off" class="layui-input">
        </div>
    </div>
    <div class="layui-form-item">
        <label class="layui-form-label">工号</label>
        <div class="layui-input-block">
            <input type="text" name="jobNumber" required  lay-verify="required"  autocomplete="off" class="layui-input">
        </div>
    </div>
</form>
<br><br>
<!--加入模糊查询-->
<div class="demoTable">
    请输入搜索条件：
    <div class="layui-inline">
        <input class="layui-input" name="id" id="demoReload" autocomplete="off">
    </div>
    <button class="layui-btn" data-type="reload">搜索</button>
</div>
<br>
<!--数据表格-->
<table id="demo" lay-filter="demo"></table>

<!--头部工具栏-->
<script type="text/html" id="toolbarDemo">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-sm" lay-event="add">添加</button>
        <button class="layui-btn layui-btn-sm" lay-event="delete">批量删除</button>
        <button class="layui-btn layui-btn-sm" lay-event="update">编辑</button>
    </div>
</script>

<!--数据表编辑项-->
<script type="text/html" id="barDemo">
    <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="detail">查看</a>
    <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
    <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>



<!--表格渲染部分-->
<script>
    layui.use([ 'table', 'form','layer' , 'util'], function(){
        var table = layui.table;
        var form = layui.form;
        var layer = layui.layer;
        var util = layui.util;
        //数据表的渲染部分:
        table.render({
            id:'demo'
            ,elem: '#demo'
            ,headers:{type:"selectAll"}
            ,toolbar: '#toolbarDemo' //开启头部工具栏，并为其绑定左侧模板
            // ,toolbar: 'default'   // 使用默认图标
            ,height: 512
            ,width: 1200
            ,url: '/ehome/sysUser.do' //数据接口 ,
            ,limit:5 // 每页记录数
            ,limits:[5,10,20] // 可切换选择每页记录数
            ,page:true  // 开启分页, 这里确实强大, 一步即将分页配置了
            ,cols: [[ //表头
                {type:'checkbox'}  // 开启了多选框
                // 字段部分换成sysUser的即可
                ,{field: 'id', title: 'ID', width:60, sort: true}
                ,{field: 'jobNumber', title: '工号', width:80}
                ,{field: 'avatar', title: '头像', width:80, sort: true}
                ,{field: 'name', title: '姓名', width:80}
                ,{field: 'createdDate', title: '创建时间',width: 177,templet:function(d){return util.toDateString(d.createdDate, "yyyy-MM-dd HH:mm:ss");}}
                ,{field: 'phoneNumber', title: '手机号', width: 120, sort: true}
                ,{field: 'companyId', title: '公司编号', width: 100, sort: true}
                ,{field: 'type', title: '类型', width: 80}
                ,{field: 'idCard', title: '身份证号', width: 135, sort: true}
                ,{toolbar: '#barDemo', width: 185, sort: true}
            ]]
        });

        //搜索框执行重载
        var $ = layui.$, active = {
            reload: function(){
                var demoReload = $('#demoReload');    //demoReload : 模糊查询输入框
                //执行重载
                table.reload('demo', {
                    headers:{type:"findAll"}
                    ,page: {
                        curr: 1 //重新从第 1 页开始
                    }
                    ,where: {
                        key: {
                            id: demoReload.val()
                        }
                    }
                }, 'data');
            }
        };
        $('.demoTable .layui-btn').on('click', function(){
            var type = $(this).data('type');
            active[type] ? active[type].call(this) : '';
        });



        //监听头工具栏事件
        table.on('toolbar(demo)', function(obj){

            switch(obj.event){
                case 'add':
                    layer.msg('添加');
                    break;
                case 'delete':
                    var checkStatus = table.checkStatus('demo'); //demo 即为基础参数 id 对应的值
                    // console.log(checkStatus.data) //获取选中行的数据

                    // 准备一个容器, 装所有的id : idArray
                    var idArray = new Array();

                    // 遍历,转换为数组
                    for(var o in checkStatus.data){
                        idArray[o] = checkStatus.data[o]["id"];
                    }


                    // 传递的目标:  [1,4,5]
                    $.ajax({
                        headers:{type:"delAll"}
                        ,url:"/ehome/sysUser.do"
                        ,type:"post"
                        ,data:{idArray:JSON.stringify(idArray)}
                        ,dataType:"json"
                        ,success:function(res){
                            if(res.code==0){
                                layer.msg(res.msg)
                            }
                        }
                        ,error:function (e){
                            console.log(e)
                        }
                    })
                    break;
                case 'update':
                    layer.msg('编辑');
                    break;
            };
        });

        //监听行工具事件
        table.on('tool(demo)', function(obj){ //注：tool 是工具条事件名，demo 是 table 原始容器的属性 lay-filter="对应的值"

            var data = obj.data //获得当前行数据
                ,layEvent = obj.event; //获得 lay-event 对应的值
            if(layEvent === 'detail'){
                layer.msg('查看操作');
            } else if(layEvent === 'del'){
                console.log(data.id)
                layer.confirm('真的删除行么', function(index){


                    //向服务端发送删除指令
                    $.ajax({
                        headers:{type:"delOne"}
                        ,url:"/ehome/sysUser.do"
                        ,type:"post"
                        ,data:{id:data.id}
                        ,dataType:"json"
                        ,success:function(res){
                            if(res.code==0){
                                layer.close(index);
                                layer.msg(res.msg)
                            }
                        }
                        ,error:function (e){
                            console.log(e)
                        }
                    })
                });
            } else if(layEvent === 'edit'){
                form.val('editForm', data);
                layer.open({
                    //   type: 1  //加载组件形式
                    type: 2   // iframe形式，显示网页
                    //  ,content: $('#editForm') //这里content是一个DOM，注意：最好该元素要存放在body最外层，否则可能被其它的相对元素所影响
                    ,content: '/ehome/static/html/editUser.html'
                    ,title: '编辑'   // 添加标题
                    ,area: ['30%', '45%']
                    ,maxmin: true
                    , closeBtn: 1
                    ,success: function(layero, index){
                        var body = layer.getChildFrame('body', index);
                        body.find('input[name=id]').val(data.id)
                        body.find('input[name=name]').val(data.name)
                        body.find('input[name=jobNumber]').val(data.jobNumber)
                    }
                    ,end: function () {   // 当关闭弹层时 , table刷新
                        location.reload();
                    }

                });
            }
        });



    });
</script>
</body>
</html>